Applied gtk-pedersen-980727-0; added all logical operations to
authorOwen Taylor <otaylor@redhat.com>
Tue, 11 Aug 1998 04:32:14 +0000 (04:32 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Tue, 11 Aug 1998 04:32:14 +0000 (04:32 +0000)
Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>

* gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0;
  added all logical operations to gc->function.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkgc.c
gdk/gdktypes.h

index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index 065a49e7e2c3f990c5e45f00f76e64486e2bb6a9..1a8d43839058b0b55a7ea97e5a65a4c9f3b20b02 100644 (file)
@@ -1,3 +1,8 @@
+Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
+         added all logical operations to gc->function.
+
 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
index e405c0eaf4b8e4b4832fcaa304f41684fa2ce9c5..0b8f91266e9d1c5ff412268bad0a84d35a310cbb 100644 (file)
@@ -88,6 +88,42 @@ gdk_gc_new_with_values (GdkWindow    *window,
        case GDK_XOR:
          xvalues.function = GXxor;
          break;
+       case GDK_CLEAR:
+         xvalues.function = GXclear;
+         break;
+       case GDK_AND:
+         xvalues.function = GXand;
+         break;
+       case GDK_AND_REVERSE:
+         xvalues.function = GXandReverse;
+         break;
+       case GDK_AND_INVERT:
+         xvalues.function = GXandInverted;
+         break;
+       case GDK_NOOP:
+         xvalues.function = GXnoop;
+         break;
+       case GDK_OR:
+         xvalues.function = GXor;
+         break;
+       case GDK_EQUIV:
+         xvalues.function = GXequiv;
+         break;
+       case GDK_OR_REVERSE:
+         xvalues.function = GXorReverse;
+         break;
+       case GDK_COPY_INVERT:
+         xvalues.function = GXcopyInverted;
+         break;
+       case GDK_OR_INVERT:
+         xvalues.function = GXorInverted;
+         break;
+       case GDK_NAND:
+         xvalues.function = GXnand;
+         break;
+       case GDK_SET:
+         xvalues.function = GXset;
+         break;
        }
       xvalues_mask |= GCFunction;
     }
@@ -289,6 +325,42 @@ gdk_gc_get_values (GdkGC       *gc,
        case GXxor:
          values->function = GDK_XOR;
          break;
+       case GXclear:
+         values->function = GDK_CLEAR;
+         break;
+       case GXand:
+         values->function = GDK_AND;
+         break;
+       case GXandReverse:
+         values->function = GDK_AND_REVERSE;
+         break;
+       case GXandInverted:
+         values->function = GDK_AND_INVERT;
+         break;
+       case GXnoop:
+         values->function = GDK_NOOP;
+         break;
+       case GXor:
+         values->function = GDK_OR;
+         break;
+       case GXequiv:
+         values->function = GDK_EQUIV;
+         break;
+       case GXorReverse:
+         values->function = GDK_OR_REVERSE;
+         break;
+       case GXcopyInverted:
+         values->function =GDK_COPY_INVERT;
+         break;
+       case GXorInverted:
+         values->function = GDK_OR_INVERT;
+         break;
+       case GXnand:
+         values->function = GDK_NAND;
+         break;
+       case GXset:
+         values->function = GDK_SET;
+         break;
        }
 
       switch (xvalues.fill_style)
@@ -433,6 +505,42 @@ gdk_gc_set_function (GdkGC  *gc,
     case GDK_XOR:
       XSetFunction (private->xdisplay, private->xgc, GXxor);
       break;
+    case GDK_CLEAR:
+      XSetFunction (private->xdisplay, private->xgc, GXclear);
+      break;
+    case GDK_AND:
+      XSetFunction (private->xdisplay, private->xgc, GXand);
+      break;
+    case GDK_AND_REVERSE:
+      XSetFunction (private->xdisplay, private->xgc, GXandReverse);
+      break;
+    case GDK_AND_INVERT:
+      XSetFunction (private->xdisplay, private->xgc, GXandInverted);
+      break;
+    case GDK_NOOP:
+      XSetFunction (private->xdisplay, private->xgc, GXnoop);
+      break;
+    case GDK_OR:
+      XSetFunction (private->xdisplay, private->xgc, GXor);
+      break;
+    case GDK_EQUIV:
+      XSetFunction (private->xdisplay, private->xgc, GXequiv);
+      break;
+    case GDK_OR_REVERSE:
+      XSetFunction (private->xdisplay, private->xgc, GXorReverse);
+      break;
+    case GDK_COPY_INVERT:
+      XSetFunction (private->xdisplay, private->xgc, GXcopyInverted);
+      break;
+    case GDK_OR_INVERT:
+      XSetFunction (private->xdisplay, private->xgc, GXorInverted);
+      break;
+    case GDK_NAND:
+      XSetFunction (private->xdisplay, private->xgc, GXnand);
+      break;
+    case GDK_SET:
+      XSetFunction (private->xdisplay, private->xgc, GXset);
+      break;
     }
 }
 
index 67c05816c2f3b3efd17a5e9e9ea5948356f7f334..5ec44c2d4a0a36fb3dbb2841b66a498f80b6c8ac 100644 (file)
@@ -217,12 +217,37 @@ typedef enum
  *   Copy: Overwrites destination pixels with the source pixels.
  *   Invert: Inverts the destination pixels.
  *   Xor: Xor's the destination pixels with the source pixels.
+ *   Clear: set pixels to 0
+ *   And: source AND destination
+ *   And Reverse: source AND (NOT destination)
+ *   And Invert: (NOT source) AND destination
+ *   Noop: destination
+ *   Or: source OR destination
+ *   Nor: (NOT source) AND (NOT destination)
+ *   Equiv: (NOT source) XOR destination
+ *   Xor Reverse: source OR (NOT destination)
+ *   Copy Inverted: NOT source
+ *   Xor Inverted: (NOT source) OR destination
+ *   Nand: (NOT source) OR (NOT destination)
+ *   Set: set pixels to 1
  */
 typedef enum
 {
   GDK_COPY,
   GDK_INVERT,
-  GDK_XOR
+  GDK_XOR,
+  GDK_CLEAR,
+  GDK_AND,
+  GDK_AND_REVERSE,
+  GDK_AND_INVERT,
+  GDK_NOOP,
+  GDK_OR,
+  GDK_EQUIV,
+  GDK_OR_REVERSE,
+  GDK_COPY_INVERT,
+  GDK_OR_INVERT,
+  GDK_NAND,
+  GDK_SET
 } GdkFunction;
 
 /* GC fill types.